using System;
using System.ComponentModel.DataAnnotations;
using System.Collections.Generic;
using Volo.Abp.Domain.Entities;

namespace SanJ.FreeCare.Medications
{
    public abstract class MedicationUpdateDtoBase : IHasConcurrencyStamp
    {
        public string? Code { get; set; }
        public string? StatusCode { get; set; }
        public string? KeyWord { get; set; }
        public string? ProductName { get; set; }
        public string? ProductNamePY { get; set; }
        public string? ProductNameWB { get; set; }
        public string? ProductNameEN { get; set; }
        public string? Alias { get; set; }
        public string? AliasPY { get; set; }
        public string? AliasWB { get; set; }
        public string? AliasEN { get; set; }
        public string? ScientificName { get; set; }
        public string? ScientificNamePY { get; set; }
        public string? ScientificNameWB { get; set; }
        public string? ScientificNameEN { get; set; }
        public string? AntiLevelCode { get; set; }
        public string? AntiClassCode1 { get; set; }
        public string? AntiClassCode2 { get; set; }
        public string? AnitDDDUnitCode { get; set; }
        public decimal AnitDDDValue { get; set; }
        public decimal? AntiOnceMinValue { get; set; }
        public decimal? AntiOnceMaxValue { get; set; }
        public string? AntiOnceUnitCode { get; set; }
        public int? AntiFrequencyMin { get; set; }
        public int? AntiFrequencyMax { get; set; }
        public string? GBCode { get; set; }
        public string? TypeCode { get; set; }
        public string? ClassCode { get; set; }
        public string? FeeTypeCode { get; set; }
        public string? SpecialTypeCode { get; set; }
        public string? LevelCode { get; set; }
        public string? DoseFormCode { get; set; }
        public string? Specification { get; set; }
        public string? BaseUnitCode { get; set; }
        public string? ClinicSaleUnitCode { get; set; }
        public decimal ClinicSaleVolume { get; set; }
        public string? InpatientSaleUnitCode { get; set; }
        public string? InpatientSaleVolume { get; set; }
        public string? TransportUnitCode { get; set; }
        public string? TransportVolume { get; set; }
        public string? DefaultDoseUnitCode { get; set; }
        public decimal DefultDoseVolume { get; set; }
        public string? SecondDoseUnitCode { get; set; }
        public decimal SecondDoseVolume { get; set; }
        public decimal RetailPrice { get; set; }
        public string? DefaultUsageCode { get; set; }
        public string? DefaultFrequencyCode { get; set; }
        public decimal DefaultDoseVolume { get; set; }
        public string? SkinTestFlag { get; set; }
        public string? SkinTestNeedFlag { get; set; }
        public string? SkinTestTypeFlag { get; set; }
        public string? SkinTestCode { get; set; }

        public string ConcurrencyStamp { get; set; } = null!;
    }
}